{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Growth of Federal debt and its burden on the US population\n",
    "\n",
    "We examine government debt in real (inflation-adjusted) terms, \n",
    "and the current Federal debt per capita in the United States.\n",
    "\n",
    "As of 2017Q2:\n",
    "\n",
    "- Federal debt is \\$61,480 per American (including children and seniors).\n",
    "- Federal debt is \\$99,170 per worker (excluding the unemployed).\n",
    "- Average maturity of Treasury bonds is 5.73 years.\n",
    "- Interest rate on Federal debt is approximately 2.15%.\n",
    "\n",
    "Government debt per capita will more than double over 14 years \n",
    "in real terms, given current annualized geometric mean rate of +5.13%.\n",
    "\n",
    "---\n",
    "\n",
    "Shortcut to this notebook: https://git.io/debtpop"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*Dependencies:*\n",
    "\n",
    "- Repository: https://github.com/rsvp/fecon235\n",
    "     \n",
    "*CHANGE LOG*\n",
    "\n",
    "    2017-11-14  Appendix 1: Average Maturity of Treasury Bonds\n",
    "    2017-11-13  Update preamble to p6.15.1223d and the data, esp. for CSC 223.\n",
    "    2015-01-16  Code review.\n",
    "    2014-08-16  First version."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from fecon235.fecon235 import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " ::  Python 2.7.13\n",
      " ::  IPython 5.1.0\n",
      " ::  jupyter_core 4.2.1\n",
      " ::  notebook 4.1.0\n",
      " ::  matplotlib 1.5.1\n",
      " ::  numpy 1.11.0\n",
      " ::  scipy 0.17.0\n",
      " ::  sympy 1.0\n",
      " ::  pandas 0.19.2\n",
      " ::  pandas_datareader 0.2.1\n",
      " ::  Repository: fecon235 v5.17.0722 develop\n",
      " ::  Timestamp: 2017-11-14T15:42:52Z\n",
      " ::  $pwd: /media/yaya/virt15h/virt/dbx/Dropbox/ipy/fecon235/nb\n"
     ]
    }
   ],
   "source": [
    "#  PREAMBLE-p6.15.1223d :: Settings and system details\n",
    "from __future__ import absolute_import, print_function, division\n",
    "system.specs()\n",
    "pwd = system.getpwd()   # present working directory as variable.\n",
    "print(\" ::  $pwd:\", pwd)\n",
    "#  If a module is modified, automatically reload it:\n",
    "%load_ext autoreload\n",
    "%autoreload 2\n",
    "#       Use 0 to disable this feature.\n",
    "\n",
    "#  Notebook DISPLAY options:\n",
    "#      Represent pandas DataFrames as text; not HTML representation:\n",
    "import pandas as pd\n",
    "pd.set_option( 'display.notebook_repr_html', False )\n",
    "from IPython.display import HTML # useful for snippets\n",
    "#  e.g. HTML('<iframe src=http://en.mobile.wikipedia.org/?useformat=mobile width=700 height=350></iframe>')\n",
    "from IPython.display import Image \n",
    "#  e.g. Image(filename='holt-winters-equations.png', embed=True) # url= also works\n",
    "from IPython.display import YouTubeVideo\n",
    "#  e.g. YouTubeVideo('1j_HxD4iLn8', start='43', width=600, height=400)\n",
    "from IPython.core import page\n",
    "get_ipython().set_hook('show_in_pager', page.as_hook(page.display_page), 0)\n",
    "#  Or equivalently in config file: \"InteractiveShell.display_page = True\", \n",
    "#  which will display results in secondary notebook pager frame in a cell.\n",
    "\n",
    "#  Generate PLOTS inside notebook, \"inline\" generates static png:\n",
    "%matplotlib inline   \n",
    "#          \"notebook\" argument allows interactive zoom and resize."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Retrieving the data\n",
    "\n",
    "The source of the data is FRED which is a public server \n",
    "operated by the Federal Reserve Bank of St. Louis.\n",
    "\n",
    "Details on the individual series are covered in our Python module: \n",
    "[yi_fred.py](https://github.com/rsvp/fecon235/blob/master/lib/yi_fred.py) \n",
    "and it also explains useful transformations on raw data \n",
    "for financial economics. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "#  Federal debt monthly (resampled from original quarterly series):\n",
    "debt = get( m4debt )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "                     Y\n",
       "T                     \n",
       "2016-10-01  19976827.0\n",
       "2016-11-01  19933358.0\n",
       "2016-12-01  19889889.0\n",
       "2017-01-01  19846420.0\n",
       "2017-02-01  19845798.0\n",
       "2017-03-01  19845176.0\n",
       "2017-04-01  19844554.0"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#  See just the tail end of the debt time-series:\n",
    "tail( debt )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n/x8ud1tWm/J/dgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xa9b6516c>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot( debt )\n",
    "#  This series is denominated in millions of dollars,\n",
    "#  so we are looking at Federal debt around \n",
    "#  1.8 * 10^7 * 10^6 = $18 trillion circa 2014Q3.\n",
    "#  tail() indicates $19.84 trillion circa 2017Q2."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "#  Deflator is an aggregated monthly time-series,\n",
    "#  derived from core and headline versions of both CPI and PCE, \n",
    "#  normalized to 1 at the most current point:\n",
    "defl = get( m4defl )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "                   Y\n",
       "T                   \n",
       "2017-03-01  1.008585\n",
       "2017-04-01  1.006966\n",
       "2017-05-01  1.007095\n",
       "2017-06-01  1.006415\n",
       "2017-07-01  1.005338\n",
       "2017-08-01  1.002943\n",
       "2017-09-01  1.000000"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tail( defl )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "#  Real debt is defined by...\n",
    "rdebt = todf( defl * debt )\n",
    "#  ... in terms of _current_ dollars.\n",
    "\n",
    "#  Pandas will align the timestamps between the two series \n",
    "#  to correctly perform the multiplication."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nSUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xa831436c>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#  Plot real debt:\n",
    "plot( rdebt )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "#  Total population of the USA:\n",
    "pop = get( m4pop )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "#  Real debt per capita:\n",
    "rdebtcap = todf( rdebt / pop )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nbRGRMvL/GiAagIzngp8AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xa825896c>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#  Plot real debt per American...\n",
    "plot( rdebtcap )\n",
    "#  ... shown in thousands of dollars."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***In current dollars***, each American (including children and seniors) \n",
    "incurred Federal debt of around \\$10,000 before the 1980s. \n",
    "Then there is a steady climb to around \\$35,000 in 2008. \n",
    "Thereafter, it is seen **rocketing** (more than doubling since 2002) \n",
    "to over $60,000. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Computing geometric mean rates\n",
    "\n",
    "Here we use a feature of the pandas DataFrame, \n",
    "called *index slicing*, to study different regimes."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "##  What does gemrat() compute?\n",
    "##  [geometric mean rate, arithmetic mean rate, volatility, \n",
    "##   kurtosis, yearly factor for annualization, sample size]\n",
    "\n",
    "#  gemrat??  # Uncomment to inspect the function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[2.592800173927734,\n",
       " 2.6088053152349113,\n",
       " 1.8119127705741984,\n",
       " 3.4485312228497524,\n",
       " 12,\n",
       " 432]"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "gemrat( rdebtcap[:'2002-01-01'], yearly=12 )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[5.129853393980599,\n",
       " 5.1435435778879377,\n",
       " 1.6962579494616916,\n",
       " 4.7146215771006936,\n",
       " 12,\n",
       " 183]"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "gemrat( rdebtcap['2002-01-01':], yearly=12 )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Through 2002, the *geometric* growth rate of real debt per capita was +2.59%. \n",
    "Since 2002, that rate has increased to +5.13% per annum. \n",
    "\n",
    "(The underlying series is also becoming increasingly leptokurtotic \n",
    "since Pearson kurtosis should be 3 for a Gaussian.)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2.014527971014615"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#  To confirm doubling over 14 years at the geometric rate of 5.13% per annum:\n",
    "1.0513 ** 14"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Government debt per capita will more than double over 14 years \n",
    "in real terms, given current annualized geometric mean rate of +5.13%.**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Federal debt is currently \\$61,480 per capita. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "                    Y\n",
       "T                    \n",
       "2016-10-01  62.598000\n",
       "2016-11-01  62.347526\n",
       "2016-12-01  62.054464\n",
       "2017-01-01  61.646121\n",
       "2017-02-01  61.523670\n",
       "2017-03-01  61.616266\n",
       "2017-04-01  61.484023"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#  Most recent:\n",
    "tail( rdebtcap )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "99.16777878148672"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#  Prorate to only WORKERS:\n",
    "tailvalue(rdebtcap) / 0.62"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Assuming 62% of the population are workers, see \n",
    "[fred-gdp-wage.ipynb](https://git.io/gdpwage), \n",
    "**each worker carries approximately $99,170 of Federal debt**. \n",
    "That figure is equivalent to more than two years of average wage income. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---\n",
    "\n",
    "### Appendix 1: Average Maturity of Treasury Bonds\n",
    "\n",
    "The US government debt is securitized by Treasury Bills and Bonds \n",
    "which are issued at various maturities.\n",
    "The weighted average maturity *statistically* summarizes \n",
    "the \"due date\" on which the principal must be repaid, \n",
    "and it can serve to estimate a single interest rate \n",
    "on the US debt (see Treasury yield curve).\n",
    "Of course, new Treasury obligations are periodically\n",
    "issued which rolls over the US government debt into the future."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#  Get weighted average maturity of \n",
    "#  \"Total Outstanding Treasury Marketable Securities\",\n",
    "#  monthly time-series from the US Treasury, \n",
    "#             via Quandl code:\n",
    "avmat = get( 'USTREASURY/AVMAT' )\n",
    "#  ... expressed in number of months."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "                    Y\n",
       "T                    \n",
       "2015-09-30  69.808297\n",
       "2015-10-31  70.000000\n",
       "2015-11-30  69.000000\n",
       "2015-12-31  69.000000\n",
       "2016-01-31  69.310000\n",
       "2016-02-29  69.000000\n",
       "2016-03-31  68.810000"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#  Most recently available:\n",
    "tail( avmat )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5.734166666666667"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#  Just the LATEST avmat, expressed in YEARS:\n",
    "tailvalue(avmat) / 12."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "[WSJ Treasury quotes](http://www.wsj.com/mdc/public/page/2_3020-treasury.html?mod=mdc_bnd_pglnk)\n",
    "provides the following:\n",
    "\n",
    "```\n",
    "Maturity       Coupon     Yield\n",
    "1/31/2023      1.750      2.117\n",
    "2/15/2023      2.000      2.117\n",
    "2/15/2023      7.125      2.090\n",
    "2/28/2023      1.500      2.122\n",
    "3/31/2023      1.500      2.132\n",
    "4/30/2023      1.625      2.141\n",
    "5/15/2023      1.750      2.146\n",
    "5/31/2023      1.625      2.151\n",
    "6/30/2023      1.375      2.159\n",
    "7/31/2023      1.250      2.162\n",
    "8/15/2023      2.500      2.154\n",
    "8/15/2023      6.250      2.132\n",
    "8/31/2023      1.375      2.164\n",
    "9/30/2023      1.375      2.176\n",
    "10/31/2023     1.625      2.177\n",
    "11/15/2023     2.750      2.177\n",
    "11/30/2023     2.125      2.182\n",
    "12/31/2023     2.250      2.199\n",
    "```\n",
    "\n",
    "So we can estimate the **interest rate on the US debt\n",
    "to be approximately 2.15%.**\n",
    "\n",
    "The typical American worker thus implicitly \n",
    "owes \\$2,130 per year just in interest expenses \n",
    "(on principal amount of \\$99,170)\n",
    "to maintain the national debt."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
